.checkboxLabel {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
}

.checkbox {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;

  &:focus {
    outline: none;
  }
}

.checkmark {
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid #e2e2e2;
  border-radius: 3px;
  margin-right: 12px;
  margin-top: 1px;
  background: white;
  flex-shrink: 0;
  transition: all 0.2s ease;

  &::after {
    content: '';
    position: absolute;
    display: none;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }
}

.checkbox:checked ~ .checkmark {
  background: #ff6f3d;
  border-color: #ff6f3d;

  &::after {
    display: block;
  }
}

.checkbox:focus ~ .checkmark {
  outline: none;
}

.labelContent {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.labelText {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 150%;
  color: #333333;
  margin-bottom: 4px;
}

.description {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 150%;
  color: #666666;
  margin: 0;
}

.checkmarkError {
  border-color: #dc3545 !important;
}

.error {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: #dc3545;
  margin-top: 4px;
}
